Report generated on 20-Sep-2023 at 18:27:59 by pytest-html v3.1.1
21 tests ran in 883.07 seconds.
(Un)check the boxes to filter the results.
12 passed, 0 skipped, 9 failed, 1 errors, 0 expected failures, 0 unexpected passes, 0 rerun| Result | Test | Duration | Links |
|---|---|---|---|
| No results found. Try to check the filters | |||
| Error | tests/devhub_submissions/test_addon_submissions.py::test_submit_listed_wizard_theme[Desktop]::teardown | 96.08 | Driver Log |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="526e9acb-fa5c-4f2c-abd7-560c2f060c70")>, base_url = 'https://addons.allizom.org' @pytest.fixture def delete_themes(selenium, base_url): """Use this fixture in devhub theme submission tests when we want to immediately delete the theme once the test has completed""" yield from pages.desktop.developers.devhub_home import DevHubHome page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() manage_addons = page.click_my_addons_header_link() manage_addons.click_on_my_themes() > while len(manage_addons.addon_list) > 0: tests/conftest.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/addons_manage.py:52: in addon_list self.wait_for_element_to_be_displayed(self._addon_items_locator) pages/desktop/base.py:42: in wait_for_element_to_be_displayed self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="526e9acb-fa5c-4f2c-abd7-560c2f060c70")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1073a9300>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:132:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account" --------------------------------pytest-selenium--------------------------------- Driver log: /private/var/folders/v_/6jd_d5kn7ss0v8hd92jqglz80000gq/T/pytest-of-alexandru.schek/pytest-12/test_submit_listed_wizard_them0/driver.log WARNING: Failed to gather URL: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/url (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10780dcd0>: Failed to establish a new connection: [Errno 61] Connection refused')) WARNING: Failed to gather screenshot: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/screenshot (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x107300750>: Failed to establish a new connection: [Errno 61] Connection refused')) WARNING: Failed to gather HTML: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/source (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x107781cd0>: Failed to establish a new connection: [Errno 61] Connection refused')) WARNING: Failed to gather log types: HTTPConnectionPool(host='localhost', port=58491): Max retries exceeded with url: /session/526e9acb-fa5c-4f2c-abd7-560c2f060c70/se/log/types (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x107782e10>: Failed to establish a new connection: [Errno 61] Connection refused')) | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_addon_last_modified_date[Desktop] | 4.48 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="ffc67286-6a43-4701-b5c9-bbf102abd48f")>, base_url = 'https://addons.allizom.org' @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_addon_last_modified_date(selenium, base_url): page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() # check the last modified date in the latest submitted addon on Devhub homepage (should be current date) print(page.my_addons_list[0].my_addon_modified_date_text) > assert ( reusables.current_date() == page.my_addons_list[0].my_addon_modified_date_text ) E AssertionError: assert 'Sep #d, 2023' == 'Sep 20, 2023' E - Sep 20, 2023 E ? ^^ E + Sep #d, 2023 E ? ^^ tests/devhub_submissions/test_addon_submissions.py:327: AssertionError ------------------------------Captured stdout call------------------------------ Sep 20, 2023 | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Chinese characters] | 15.46 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="1dad0e54-70b3-4bcc-b338-af95463d9447")>, base_url = 'https://addons.allizom.org' variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107a55a90>, addon_name = '这是我的名字', description = '这是我的描述' @pytest.mark.parametrize( "addon_name, description", ( ["这是我的名字", "这是我的描述"], ["1515هذا هو اسمي", "هذا هو وصفي"], ["이건 내 이름이야", "이것은 내 설명입니다"], ["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"], ["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"], ), ids=[ "Chinese characters", "Arabic characters", "Korean characters", "Burmese characters", "Random non-ascii characters", ], ) @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_submit_unicode_addon( selenium, base_url, variables, wait, addon_name, description ): """Test covering the process of uploading addons with non-ASCII characters""" manifest = { **payloads.minimal_manifest, "name": addon_name, "description": description, } api_helpers.make_addon(manifest) selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:436: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="1dad0e54-70b3-4bcc-b338-af95463d9447")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1077032e0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': '这是我的名字', 'description': '这是我的描述'} | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Arabic characters] | 15.10 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="00cd742e-b9a7-4682-a4d3-3ecbf27e4e59")>, base_url = 'https://addons.allizom.org' variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107881850>, addon_name = '1515هذا هو اسمي', description = 'هذا هو وصفي' @pytest.mark.parametrize( "addon_name, description", ( ["这是我的名字", "这是我的描述"], ["1515هذا هو اسمي", "هذا هو وصفي"], ["이건 내 이름이야", "이것은 내 설명입니다"], ["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"], ["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"], ), ids=[ "Chinese characters", "Arabic characters", "Korean characters", "Burmese characters", "Random non-ascii characters", ], ) @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_submit_unicode_addon( selenium, base_url, variables, wait, addon_name, description ): """Test covering the process of uploading addons with non-ASCII characters""" manifest = { **payloads.minimal_manifest, "name": addon_name, "description": description, } api_helpers.make_addon(manifest) selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:436: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="00cd742e-b9a7-4682-a4d3-3ecbf27e4e59")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a12200>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': '1515هذا هو اسمي', 'description': 'هذا هو وصفي'} | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Korean characters] | 14.96 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="282b440a-7b2a-424f-81c7-9c43c0dc3246")>, base_url = 'https://addons.allizom.org' variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107068190>, addon_name = '이건 내 이름이야', description = '이것은 내 설명입니다' @pytest.mark.parametrize( "addon_name, description", ( ["这是我的名字", "这是我的描述"], ["1515هذا هو اسمي", "هذا هو وصفي"], ["이건 내 이름이야", "이것은 내 설명입니다"], ["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"], ["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"], ), ids=[ "Chinese characters", "Arabic characters", "Korean characters", "Burmese characters", "Random non-ascii characters", ], ) @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_submit_unicode_addon( selenium, base_url, variables, wait, addon_name, description ): """Test covering the process of uploading addons with non-ASCII characters""" manifest = { **payloads.minimal_manifest, "name": addon_name, "description": description, } api_helpers.make_addon(manifest) selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:436: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="282b440a-7b2a-424f-81c7-9c43c0dc3246")>, method = <function visibility_of_element_located.<locals>._predicate at 0x10706f7e0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': '이건 내 이름이야', 'description': '이것은 내 설명입니다'} | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Burmese characters] | 15.12 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="e4fce01f-fd86-42e0-a4e5-8959beff9274")>, base_url = 'https://addons.allizom.org' variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x1077af990>, addon_name = 'ဒါက ငါ့နာမည်ပါ။' description = 'ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။' @pytest.mark.parametrize( "addon_name, description", ( ["这是我的名字", "这是我的描述"], ["1515هذا هو اسمي", "هذا هو وصفي"], ["이건 내 이름이야", "이것은 내 설명입니다"], ["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"], ["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"], ), ids=[ "Chinese characters", "Arabic characters", "Korean characters", "Burmese characters", "Random non-ascii characters", ], ) @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_submit_unicode_addon( selenium, base_url, variables, wait, addon_name, description ): """Test covering the process of uploading addons with non-ASCII characters""" manifest = { **payloads.minimal_manifest, "name": addon_name, "description": description, } api_helpers.make_addon(manifest) selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:436: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="e4fce01f-fd86-42e0-a4e5-8959beff9274")>, method = <function visibility_of_element_located.<locals>._predicate at 0x1059a3c40>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'ဒါက ငါ့နာမည်ပါ။', 'description': 'ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။'} | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_submit_unicode_addon[Desktop-Random non-ascii characters] | 14.89 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="20fbe554-9a2e-4ef1-bee2-f9e85b3810c7")>, base_url = 'https://addons.allizom.org' variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x107a2bc50>, addon_name = 'ʌɑ:æčβぁŇ', description = '☺️ʌɑ:æčβぁŇ☺️' @pytest.mark.parametrize( "addon_name, description", ( ["这是我的名字", "这是我的描述"], ["1515هذا هو اسمي", "هذا هو وصفي"], ["이건 내 이름이야", "이것은 내 설명입니다"], ["ဒါက ငါ့နာမည်ပါ။", "ဤသည်မှာ ကျွန်ုပ်၏ ဖော်ပြချက်ဖြစ်ပါသည်။"], ["ʌɑ:æčβぁŇ", "☺️ʌɑ:æčβぁŇ☺️"], ), ids=[ "Chinese characters", "Arabic characters", "Korean characters", "Burmese characters", "Random non-ascii characters", ], ) @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_submit_unicode_addon( selenium, base_url, variables, wait, addon_name, description ): """Test covering the process of uploading addons with non-ASCII characters""" manifest = { **payloads.minimal_manifest, "name": addon_name, "description": description, } api_helpers.make_addon(manifest) selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:436: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="20fbe554-9a2e-4ef1-bee2-f9e85b3810c7")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a12e80>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ Manifest content: {'manifest_version': 2, 'version': '1.0', 'name': 'ʌɑ:æčβぁŇ', 'description': '☺️ʌɑ:æčβぁŇ☺️'} | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_addon_validation_warning[Desktop] | 14.89 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="a1532ea2-51c6-4a67-a799-afcf27d8e146")>, base_url = 'https://addons.allizom.org' variables = {'addon_detail_guid': '{446900e4-71c2-419f-a6a7-df9c091e268b}', 'addon_detail_id': 621352, 'addon_policies_helptext': ...licies and are subject to manual review at any time after submission.', 'addon_unicode_slug': '漢字漢字漢字学年別漢字配当表uni', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x108313410> @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_addon_validation_warning(selenium, base_url, variables, wait): """Test validation results when addons trigger some warnings""" selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:465: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:465: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="a1532ea2-51c6-4a67-a799-afcf27d8e146")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a13420>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_cancel_and_disable_version_during_upload[Desktop] | 15.01 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="20f9dce7-0d9b-49a1-ac87-a054612ef9ed")>, base_url = 'https://addons.allizom.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x1082b9450> @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_cancel_and_disable_version_during_upload(selenium, base_url, wait): """Test what happens in the upload process when a user chooses to cancel the submission""" selenium.get(f"{base_url}/developers/addon/submit/upload-listed") submit_addon = SubmitAddon(selenium, base_url).wait_for_page_to_load() # checking that the Firefox compatibility checkbox is selected by default > wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) tests/devhub_submissions/test_addon_submissions.py:492: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:81: in until value = method(self._driver) tests/devhub_submissions/test_addon_submissions.py:492: in <lambda> wait.until(lambda _: submit_addon.firefox_compat_checkbox.is_selected()) pages/desktop/developers/submit_addon.py:283: in firefox_compat_checkbox self.wait.until(EC.visibility_of_element_located(self._firefox_compat_checkbox_locator)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="20f9dce7-0d9b-49a1-ac87-a054612ef9ed")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107a13e20>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_delete_all_extensions[Desktop] | 43.32 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="ff93bf13-0369-40f0-af9c-54771d63944f")>, base_url = 'https://addons.allizom.org' @pytest.mark.sanity @pytest.mark.serial @pytest.mark.create_session("submissions_user") def test_delete_all_extensions(selenium, base_url): """This test will delete all the extensions submitted above to make sure we can start over with this user in the following runs and also for verifying that the addon deletion process functions correctly""" page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() manage_addons = page.click_my_addons_header_link() # run the delete steps until all the addons are cleared from the list > while len(manage_addons.addon_list) > 0: tests/devhub_submissions/test_addon_submissions.py:525: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/addons_manage.py:52: in addon_list self.wait_for_element_to_be_displayed(self._addon_items_locator) pages/desktop/base.py:42: in wait_for_element_to_be_displayed self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="ff93bf13-0369-40f0-af9c-54771d63944f")>, method = <function visibility_of_element_located.<locals>._predicate at 0x107700680>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:189:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:507:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:132:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_devhub_developer_agreement_page_contents[Desktop] | 15.20 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account" | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_devhub_developer_agreement_page_links[Desktop] | 9.85 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_devhub_developer_agreement_checkboxes[Desktop] | 6.87 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_submit_unlisted_addon[Desktop] | 57.35 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account" | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_addon_distribution_page_contents[Desktop] | 8.83 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_devhub_upload_extension_page_contents[Desktop] | 5.09 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_upload_unsupported_file_validation_error[Desktop] | 6.24 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_verify_first_version_autoapproval[Desktop] | 223.20 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_submit_listed_addon[Desktop] | 19.24 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_submit_addon_3mb_size[Desktop] | 22.18 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_submit_mixed_addon_versions[Desktop] | 17.84 | |
|
No log output captured. | |||
| Passed | tests/devhub_submissions/test_addon_submissions.py::test_verify_new_unlisted_version_autoapproval[Desktop] | 240.67 | |
|
------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. The script should be on the password input screen here. We should see "Sign in" in the header. The card header title is "Enter your password for your Firefox account" Manifest content: {'manifest_version': 2, 'theme': {'frame': '#083af0', 'tab_background_text': '#ffffff'}, 'version': '35.0', 'name': 'New version auto-approval'} | |||